﻿using System.Net;
using System.Net.Sockets;

namespace NATP2P.STUN
{
    /// <summary>
    /// Interface for EndPointMapRequest 
    /// </summary>
    public interface IEndPointMapRequest
    {
        /// <summary>
        /// outside IP Address and port 
        /// </summary>
        IPEndPoint ExternalEndPoint { get; set; }
        /// <summary>
        /// inside IP Address and port 
        /// </summary>
        IPEndPoint InternalEndPoint { get; set; }
        /// <summary>
        /// intiail socket used for mapping
        /// </summary>
        Socket InitSocket { get; }
        /// <summary>
        /// remote stun server
        /// </summary>
        IPEndPoint RemoteServer { get; }
        /// <summary>
        /// send request for mapping
        /// </summary>
        void Send();
    }
}
